YARN单机环境搭建
mapred-site.xml
1
2
3
4<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>yarn-site.xml
1
2
3
4
5
6
7
8
9
10
11<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hadoop:38088</value>
</property>
# web界面防火墙 38088 50070 开放这两个端口
# yarn.resourcemanager.webapp.address修改8088为38088yarn-env.sh
export YARN_PID_DIR=/home/hadoop/tmp启动YARN相关的进程
sbin/start-yarn.sh验证
jps
ResourceManager
NodeManager
或者浏览器:
http://hadoop000:8088
6. 停止YARN相关的进程
sbin/stop-yarn.sh
Yarn常用命令介绍
1 | • yarn application |
提交作业到YARN上执行
提交mr作业到YARN上运行:
下列目录是Hadoop源码中的example
1 | /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar |
1 | //以这个命令进行提交作业 |
1 | //pi 2 3 为参数 |
当我们再次执行该作业时,会报错:
FileAlreadyExistsException:
Output directory hdfs://hadoop001:8020/output/wc already exists
常见基于Yarn的计算框架
MapReduce On Yarn
Spark
- 基于内存的大数据计算引擎
- MapReduce不适合的计算场景:
- 迭代式作业
- 机器学习,图算法需要迭代运行Mapper和Reducer多次
- 交互式作业
- 交互式数据分析,尤其是涉及到机器学习算法
- 流式作业
- 无穷无尽的流式数据,需要不断的对数据进行聚合计算
- 迭代式作业
- Spark提供了一种新的数据抽象RDD弹性分布式数据集,可以将数据存储在内存中,而不是存储到HDFS上,使得快速迭代计算成为可能。